# 定义一个基类Shape，包含一个属性color和一个方法describe()
# ，该方法打印出形状的颜色。然后创建两个子类Circle和Rectangle，
# 分别继承自Shape类，并添加相应的属性（如r、width、height），
# 同时重写describe()方法，
# 使其打印出圆形和矩形的描述信息。
class Shape:
    def __init__(self,color=None):
        self.color=color
    def   describe(self):
        print(f"该形状的颜色是{self.color}")
class Circle(Shape):
    #因为每个类都必须有__init__方法才能创建成员变量，
    # 所以不算重写父类，但是可以通过super().__init__来调用父类的成员属性
    def __init__(self, color=None,r=0): #重写的特例
        super().__init__(color)
        self.r=r
    def describe(self):
        super().describe()
        print(f"该圆的半径是{self.r}")
class Rectangle(Shape):
    pass


c1=Circle("蓝色",12)
c1.describe()









